SQL a delphi

Otázka od: David GoL?ula

26. 10. 2004 14:32

> Ahoj,

Nevite nahodou nekdo jak pouzit sql prikaz tak aby mi nebral hodnotu ktera
obsahuje "," jako prechod na dalsi..uz jsem tam pouzil "" ale nepomaha to....

PC:=45,6;
Mnoz:=10,1;

Query1.sql.Add('INSERT INTO INVDR (PC,Mnoz) values ('+-PC+-',"'+-Mnoz+-'")');

On si proste mysli ze PC a Mnoz jsou ctyri hodnoty,protoze obsahujou carku....


Odpovedá: Otakar Tofel

26. 10. 2004 15:10

David GoL?ula napsal(a):

>Nevite nahodou nekdo jak pouzit sql prikaz tak aby mi nebral hodnotu ktera
obsahuje "," jako prechod na dalsi..uz jsem tam pouzil "" ale nepomaha to....
>
>PC:=45,6;
>Mnoz:=10,1;
>
>Query1.sql.Add('INSERT INTO INVDR (PC,Mnoz) values ('+-PC+-',"'+-Mnoz+-'")');
>
>On si proste mysli ze PC a Mnoz jsou ctyri hodnoty,protoze obsahujou carku....
>
>
>
Ahoj,
  melo by pomoct predavani pomoci parametru - ja to pouzivam na MS SQL
priblizne
takto:
  Query.sql.Add('INSERT INTO INVDR (PC, Mnoz) values (:PC, :Mnoz)' );
  Query.parameters.ParamByName('PC').value := PcHodnota;
  Query.parameters.ParamByName('Mnoz').value := MnozHodnota;

U komponent nad firebirdem je metoda ParamByName jinde nez v Parameters
(nemuzu ted overit).

  Otakar Tofel



Odpovedá: Slavomir Skopalik

26. 10. 2004 15:21

To opravdu nevime.
Ale podle vseho se asi snazis presvedcit SQL, aby pouzivalo jako
destinny symbol carku misto tecky.
Tak je treba nahradit tu carku necim lepsim, v tomto pripade teckou.
Jinak by me fakt zajimalo, ktera verze delphi prelozi tohle:
PC:=45,6;

 Slavek

PS: Priste je veeeelmi vhodne napsat o jaky SQL server se jedna, jak se
k nemu pripojujes a jakou chybu to hlasi.

> > Ahoj,
>
> Nevite nahodou nekdo jak pouzit sql prikaz tak aby mi nebral
> hodnotu ktera obsahuje "," jako prechod na dalsi..uz jsem tam
> pouzil "" ale nepomaha to....
>
> PC:=45,6;
> Mnoz:=10,1;
>
> Query1.sql.Add('INSERT INTO INVDR (PC,Mnoz) values
> ('+-PC+-',"'+-Mnoz+-
'")');
>
> On si proste mysli ze PC a Mnoz jsou ctyri hodnoty,protoze
> obsahujou carku....
>


Odpovedá: Lstiburek Pavel

26. 10. 2004 15:14

To urcite ne,
pokud to nejak expandujes a vysledkem je retezec,
tak by mel vypadat nejak takto:
Values( '45,6', '10,1'),
pokud to maji byt cisla tak tam musi byt '.' (tecka).

Pavel

> From: David GoL?ula [mailto:david@nj.hcv.cz]
> Nevite nahodou nekdo jak pouzit sql prikaz tak aby mi nebral
> hodnotu ktera obsahuje "," jako prechod na dalsi..uz jsem tam
> pouzil "" ale nepomaha to....
>
> PC:=45,6;
> Mnoz:=10,1;
>
> Query1.sql.Add('INSERT INTO INVDR (PC,Mnoz) values
> ('+-PC+-',"'+-Mnoz+-
'")');
>
> On si proste mysli ze PC a Mnoz jsou ctyri hodnoty,protoze
> obsahujou carku....


Odpovedá: Stepan Dobias

27. 10. 2004 7:08

Neni ani az tak dulezite na jaky SQL server to je. On potrebuje pouze vedet,
ze si ma napr. pri startu aplikace nastavit promennou DecimalSeparator :='.'
;

Stepan

----- Original Message -----
From: "Slavomir Skopalik" <skopalik@elektlabs.cz>
To: <delphi-l@clexpert.cz>
Sent: Tuesday, October 26, 2004 4:12 PM
Subject: Re: SQL a delphi


> To opravdu nevime.
> Ale podle vseho se asi snazis presvedcit SQL, aby pouzivalo jako
> destinny symbol carku misto tecky.
> Tak je treba nahradit tu carku necim lepsim, v tomto pripade teckou.
> Jinak by me fakt zajimalo, ktera verze delphi prelozi tohle:
> PC:=45,6;
>
> Slavek
>
> PS: Priste je veeeelmi vhodne napsat o jaky SQL server se jedna, jak se
> k nemu pripojujes a jakou chybu to hlasi.
>
> > > Ahoj,
> >
> > Nevite nahodou nekdo jak pouzit sql prikaz tak aby mi nebral
> > hodnotu ktera obsahuje "," jako prechod na dalsi..uz jsem tam
> > pouzil "" ale nepomaha to....
> >
> > PC:=45,6;
> > Mnoz:=10,1;
> >
> > Query1.sql.Add('INSERT INTO INVDR (PC,Mnoz) values
> > ('+-PC+-',"'+-Mnoz+-
'")');
> >
> > On si proste mysli ze PC a Mnoz jsou ctyri hodnoty,protoze
> > obsahujou carku....
> >
>
>
>